我們再操作資料的時候常常會有一些資料希望能夠放在一起,除了方便管理之外也比較好閱讀,像是傳統的 C 有 Struct 可以用,而 Go 也有,但是操作方法有點不同。
結構
package main
import "fmt"
type person struct {
name string
age int
}
func main() {
fmt.Println(person{"Bob", 20})
fmt.Println(person{name: "Alice", age: 30})
fmt.Println(person{name: "Fred"})
fmt.Println(&person{name: "Ann", age: 40})
s := person{name: "Sean", age: 50}
fmt.Println(s.name)
sp := &s
fmt.Println(sp.age)
sp.age = 51
fmt.Println(sp.age)
}
再上面的例子我們建立一個 person 的 struct,為什麼前面要多一個 type 呢?因為我們要當作新的型態來用!我們這邊只做簡單宣告,我們先看看下面的程式碼,person{"Bob", 20} 這邊是按照順序將資料填入,所以這邊寫法其實是下面這行的簡寫 person{name: "Alice", age: 30}。
所以你會看到這樣的結果
{Bob 20}
{Alice 30}
{Fred 0}
&{Ann 40}
Sean
50
51